The subject matter described herein relates in general to reporting errors in software, and in particular to providing individual bug fixed messages for software users.
Software applications that are tested by product developers can still experience errors when used by customers. This can be due to differences between testing and customer operating environments which can vary widely between customers. Some errors are only experienced by a subset of the software users and other errors are more widespread. Product developers generally encourage customers to report any software errors that they experience so that the problem can be analyzed and corrected via a software update, patch or work-around. The reporting of software errors can be supplemented by data such as memory dumps to aid the software developers in their analysis of the problem. A memory dump, also referred to as a core dump or system dump, includes a recorded state of the working memory of a computer program at a specific time such as when the program has crashed or otherwise terminated abnormally.
Software applications can include scan processing software that is executed on metrology devices, such as 3D laser scanner time-of-flight (TOF) coordinate measurement devices to generate three-dimensional (3D) representations of areas, such as buildings for example. A 3D laser scanner of this type steers a beam of light to a non-cooperative target such as a diffusely scattering surface of an object. A distance meter in the device measures a distance to the object, and angular encoders measure the angles of rotation of two axes in the device. The measured distance and two angles enable software executing on a processor in the device to determine the 3D coordinates of the target.
A TOF laser scanner is a scanner in which the distance to a target point is determined based on the speed of light in air between the scanner and a target point. Laser scanners are typically used for scanning closed or open spaces such as interior areas of buildings, industrial installations and tunnels. They may be used, for example, in industrial applications and accident reconstruction applications. A laser scanner optically scans and measures objects in a volume around the scanner through the acquisition of data points representing object surfaces within the volume. Such data points are obtained by transmitting a beam of light onto the objects and collecting the reflected or scattered light to determine the distance, two-angles (i.e., an azimuth and a zenith angle), and optionally a gray-scale value. This raw scan data, referred to herein as a point cloud (or point cloud data), is collected, stored and sent to a processor or processors to generate a 3D image representing the scanned area or object.
When software, such as scan software for example, terminates unexpectedly, contents of the error report and memory dump may contain data that is private to the customer but still important to analyzing the software error that caused the unexpected termination. In order to facilitate analyzing the software error, the contents of the error report and memory dump can be modified to remove identifying information so that the customer reporting the error cannot be identified. This may include for example, removing the email address that the error report was received from. This process of anonymizing the data removes the link between the customer reporting the software error and the error being reported and there is no way to directly report back to the customer that the error that the customer reported has been corrected. A customer reporting an error can review documentation associated with fixes, or patches, and/or new software versions that are communicated to all users of the software to see if it appears that the problem that they reported has been corrected.
Accordingly, while processes for reporting errors in software are suitable for their intended purposes, what is needed is a process for reporting software errors having certain features of embodiments of the present invention.